<%@page import="study.itwill.common.DateTime"%>
<%@page import="study.itwill.team5.admin.AdminItem"%>
<%@page import="study.itwill.jsp.PageHandler"%>
<%@page import="study.itwill.jsp.WebHandler"%>
<%@page import="study.itwill.team5.board.BoardCategory"%>
<%@page import="study.itwill.team5.board.BoardCategoryItem"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true"%>
<%@ include file="../session.jsp"%>
<%@ include file="../dbcon.jsp"%>
<%
	DateTime datetime = DateTime.getInstance();	

	// 페이지 번호 파라미터
	int nowPage = web.getInt("page");
	
	// 파라미터가 없다면 -1을 리턴하므로...
	if (nowPage < 1) {
		nowPage = 1;
	}
	
	// 전체 데이터 수 조회
	int total_count = db.getCount("board_category", "seq", null);
	
	// 페이징 객체 호출
	PageHandler p_handler = PageHandler.getInstance(nowPage, total_count, 10, 10);
	
	// 목록을 가져오는 메서드에게 데이터의 시작위치와 끝 위치 전달
	int start = p_handler.getStartRec();
	int end = p_handler.getPageArticleCount();

	ArrayList<BoardCategoryItem> list = (new BoardCategory()).listBoardCategory(start, end);

	if (list == null) {
		db.disconnect();
		web.goPage(null, "데이터 조회에 실패했습니다. 잠시후 다시 시도해 주세요.");
		return;
	}
%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%@ include file="../head.jsp"%>
</head>
<body>
	<%@ include file="../menu.jsp"%>
	<div class="container">
		<div class="page-header clearfix">
			<h1 class="pull-left">게시판 카테고리 목록</h1>
			<div class="pull-right" style="padding-top: 30px">
				<a href="addBoardCategory.jsp" class="btn btn-info">추가하기</a>
			</div>
		</div>

		<div class="table-responsive">
			<table class="table table-striped table-hover">
				<thead>
					<tr class="warning row">
						<th class="text-center col-md-2">번호</th>
						<th class="text-center col-md-4">카테고리 이름</th>
						<th class="text-center col-md-2">등록일자</th>
						<th class="text-center col-md-2">수정일자</th>
						<th class="text-center col-md-2"></th>
					</tr>
				</thead>
				<tbody>
					<%
					if (list.size() < 1) {
				%>
					<tr>
						<td colspan="6">
							<p class="text-center text-warning" style="height: 100px">
								저장된 데이터가 없습니다.</p>
						</td>
					</tr>
					<%
					} else {
						for (int i=0; i<list.size(); i++) {
							BoardCategoryItem item = list.get(i);
				%>
					<tr class="text-center row">
						<td class="col-md-2"><%=item.getSeq()%></td>
						<td class="col-md-4"><%=item.getCategory_name()%></td>
						<td class="col-md-2 small"><%= datetime.getDateTimeString(item.getReg_date()) %></td>
						<td class="col-md-2 small"><%= datetime.getDateTimeString(item.getEdit_date()) %></td>
						<td class="col-md-2"><a
							href="viewBoardCategory.jsp?seq=<%=item.getSeq()%>"
							class="btn btn-primary">정보보기</a></td>
					</tr>
					<%
						}
					}
				%>
				</tbody>
			</table>
		</div>

		<!-- 페이지 구현 -->
		<div class="text-center">
			<ul class="pagination pagination-centered">
				<%
	// 이전 페이지 그룹 링크
	// --> 현재 페이지가 1페이지의 그룹 수보다 작다면 첫 그룹이므로 링크 비활성화
	if (p_handler.getNowPage() <= p_handler.getPageGroupCount()) {
%>
				<li class="disabled"><a href="#">&laquo;</a></li>
				<%		
	} else {
		// 그렇지 않다면, 이전 페이지 그룹의 마지막 페이지로 링크 생성
		int prevPage = p_handler.getStartPage() -1;
%>
				<li><a href="listBoardCategory.jsp?page=<%=prevPage%>">&laquo;</a></li>
				<%
	}
%>




				<%
	// 현재 페이지 그룹의 첫 페이지부터 마지막 페이지까지 반복 처리
	for (int i=p_handler.getStartPage(); i<=p_handler.getEndPage(); i++) {
		String classAttr = "";
		if (i == p_handler.getNowPage()) {
			classAttr = "class='active'";
		}
%>
				<li <%=classAttr%>><a href="listBoardCategory.jsp?page=<%=i%>"><%=i%></a></li>
				<%		
	}
%>



				<%
	// 현재 페이지가 첫 마지막 페이지 그룹의 첫 페이지보다 크거나 같다면, 다음 페이지로 이동할 수 없다.
	// --> 현재 페이지가 1페이지의 그룹 수보다 작다면 첫 그룹이므로 링크 비활성화
	if (p_handler.getNowPage() >= p_handler.getLastGroupFirstPage()) {
%>
				<li class="disabled"><a href="#">&raquo;</a></li>
				<%		
	} else {
		// 그렇지 않다면, 현재 그룹의 마지막페이지 + 1 --> 다음 그룹의 첫 페이지로 이동할 링크 생성
		int nextPage = p_handler.getEndPage() + 1;
%>
				<li><a href="listBoardCategory.jsp?page=<%=nextPage%>">&raquo;</a></li>
				<%
	}
%>
			</ul>
		</div>
		<!--// 페이지 구현 -->

	</div>
	<% db.disconnect(); %>
	<!-- Javascript -->
	<script src="/Team-Project/assets/js/jquery.js"></script>
	<script src="/Team-Project/assets/js/bootstrap.min.js"></script>

</body>
</html>